home *** CD-ROM | disk | FTP | other *** search
/ Aminet 16 / Aminet 16 (1996)(GTI - Schatztruhe)[!][Dec 1996].iso / Aminet / dev / src / wangisrc.lha / wangi / z / SM / SMPrefs / Library.PAS < prev    next >
Pascal/Delphi Source File  |  1995-07-11  |  2KB  |  87 lines

  1. Function Open_Libs;
  2.  
  3. begin
  4.     IntuitionBase := pIntuitionBase(OpenLibrary('intuition.library',36));
  5.     UtilityBase  := pUtilityBase(Openlibrary('utility.library',36));
  6.     GadToolsBase  := Openlibrary('gadtools.library',36);
  7.     AslBase  := Openlibrary('asl.library',36);
  8.     ReqToolsBase := pReqToolsBase(OpenLibrary(REQTOOLSNAME,38));
  9.     GfxBase := pGfxBase(OpenLibrary('graphics.library',34));
  10.     DatatypesBase  := Openlibrary('datatypes.library',39);
  11.  
  12.     if (IntuitionBase <> NIL) and (UtilityBase <> NIL) and (GadToolsBase <> NIL) 
  13.         and (AslBase <> NIL) and (ReqToolsBase <> NIL) and (GfxBase <> NIL) then 
  14.         Open_Libs := True
  15.     else
  16.         Open_Libs := False;
  17. end;
  18.  
  19. Procedure Close_Libs;
  20.  
  21. begin
  22.     if DataTypesBase <> NIL then
  23.         CloseLibrary(pLibrary(DataTypesBase));
  24.     if GfxBase <> NIL then
  25.         CloseLibrary(pLibrary(GfxBase));
  26.     if ReqToolsBase <> NIL then
  27.         CloseLibrary(pLibrary(ReqToolsBase));
  28.     if AslBase <> NIL then
  29.         CloseLibrary(pLibrary(AslBase));
  30.     if GadToolsBase <> NIL then
  31.         CloseLibrary(pLibrary(GadToolsBase));
  32.     if UtilityBase <> NIL then
  33.         CloseLibrary(pLibrary(UtilityBase));
  34.     if IntuitionBase <> NIL then
  35.         CloseLibrary(pLibrary(IntuitionBase));
  36. end;
  37.  
  38. function CStrConstPtrAR;
  39. type a = packed array [0..255] of char;
  40. var  p : ^a;
  41. begin
  42.   s := s + #0;                                    { Make "C" string }
  43.   p := AllocRemember(rk, length(s), MEMF_CLEAR);  { Get some mem for it }
  44.   move(s[1], p^, length(s));                      { Move s into newly alloc'd mem }
  45.   CStrConstPtrAR := p                               { Return the pointer }
  46. end;
  47.  
  48. Function Execsynch;
  49.  
  50. VAR
  51.     newcd   : BPTR;
  52.     oldcd   : BPTR;
  53.     t       : Array[0..6] of tTagItem;
  54.     outfile : BPTR;
  55.     rc, ok  : Boolean;
  56.  
  57. CONST
  58.     Out : String[5] = 'NIL:'#0;
  59.     
  60. Begin
  61.     rc := False;
  62.     { open IO file }
  63.     outfile := Open(@out[1], MODE_OLDFILE);
  64.     { Start program }
  65.     t[0].ti_Tag  := SYS_Asynch;
  66.     t[0].ti_Data := False_;
  67.     t[1].ti_Tag  := SYS_Input;
  68.     t[1].ti_Data := outfile;
  69.     t[2].ti_Tag  := SYS_Output;
  70.     t[2].ti_Data := 0;
  71.     t[3].ti_Tag  := TAG_END;
  72.     if SystemTagList(cmd,@t) = 0 then
  73.         rc := TRUE; { Program started! }
  74.     OK := AmigaDOS.Close_(outfile);
  75.     Execsynch := rc;
  76. End;
  77.  
  78. Function UpperStr;
  79. Var
  80.      X : Byte;
  81. Begin
  82.   For X := 1 To Length(S) Do
  83.     S[X] := UpCase(S[X]);
  84.   UpperStr := S;
  85. End;
  86.  
  87.